본문으로 건너뛰기

23.05.21

오늘 한 일

  • 알고리즘 문제 풀이
  • 포트폴리오 다듬고 자기소개서 작성 후 제출
  • 당근 인턴 제출 완료
  • IT 특강 팀플 회의
  • 익스텐션 에타에 홍보?

익스텐션 에브리타임에 홍보

image

생각보다 너무 많은 사람이 관심을 가져주셨다. 오후 11시에 올렸는데 지금 새벽 1시 40분 기준으로 좋아요 37개, 스크랩 81개가 달렸다.

Sentry를 확인해보니 너무 많은 에러 로그가 찍혀있었다. 알고보니 내가 이상한 곳에서 captureException을 호출하고 있었다. 이 부분을 수정하고 다시 업로드했다.

그런데 진짜 에러가 하나 떴다.

Cannot read properties of undefined (reading 'split')

지금 소스맵까지 번들링하지 않아서 에러 추적이 조금 힘들었다(파일 크기가 너무 커져서 일단 소스맵을 생성하지 않았다). 일단 내 익스텐션에서 split을 사용하고 있는 곳은 몇 군데 없어서 그나마 확인이 쉬웠다. 내 생각엔 convertDateTime 유틸 함수에서 인자 값이 string이어야 하는데, 이상한 값이 들어와서 생긴 것 같다.

인자 값으로는 과제의 endAt이 들어가게 되는데, 이 값이 undefined가 들어가서 생긴 문제였다. undefined가 뜨면 안되는데 뜬다는 것은, 크롤링 중에 문제가 생긴 것이다.

일단 저 에러가 뜨면 ErrorBoundary fallback 켜지게 되어서 유저가 이용을 못하게 되니, 일단 에러가 뜨지 않게 수정했다. 그리고 Sentry로 로그를 보내게 했다.

유저 피드백

올린지 얼마 안되서 바로 피드백이 들어왔다. Mooc 강의의 완료 표시가 제대로 나타나지 않는 문제였다.

알고보니 내가 출석 요구 시간과 들은 시간을 비교할 때 string으로 비교하고 있어서 제대로 나타나지 않았던 것이다. 이 부분을 수정해서 다시 업로드했다.

두번 째 문제

근데 또 하나 문제가 있었다. mooc 강의는 학습 진도 현황 페이지가 아니라, 온라인 출석부 페이지로 이동한다. 둘의 url도 다르고 출석 요구 시간도 달랐다. 그래서 이렇게 처리했다.

온라인 출석부에서는 user_progress_table 클래스고, 학습 진도 현황에서는 user_progress 클래스다. 그래서 두 클래스를 모두 확인해서 둘 중 하나가 없으면 다른 클래스를 사용하게 했다.

const className =
$('.user_progress tbody tr').length === 0
? '.user_progress_table tbody tr'
: '.user_progress tbody tr';

후기

일단 너무 많은 에러가 터지고 있어서 식은땀이 났다..ㅋㅋㅋ 일단 지금 급한 불 껐지만 내일 다시 확인해봐야겠다. 아직 더 많이 있을거다..!!

유저가 이용하는 서비스를 만든 게 처음이라 모든게 새롭고 소중하다. 더 기능을 추가해서 유저가 편하게 이용할 수 있도록 만들어야겠다.


내일 할 일

  • 알고리즘 문제 풀이
  • Nest.js 강의 듣기
  • 익스텐션 에러 수정
  • 카공실록 프로젝트 시작